iT邦幫忙

2026 iThome 鐵人賽

DAY 9
0
Security

從 CSSLP 視角建構恰到好處的軟體安全系列 第 9

Day 08 | 需求訪談的防坑指南:將 Policy 與合規 (Compliance) 轉換為具體需求的溝通術

  • 分享至 

  • xImage
  •  

1. Introduction

開始準備進入軟體開發生命週期(SDLC)第一個階段,規劃與需求分析

2. Discussion

規劃與需求分析階段最重要的不外乎是效益評估與可行性分析,根據價值決定要做那些功能性需求,而資安需要能看出是否有法令法規等需要關注的,才不會被排到較後面才開發但少了這功能又不能上線的窘境。

https://ithelp.ithome.com.tw/upload/images/20260906/20077752Oyo1OeASSQ.png

項目 Functional 判斷原因
US-1:金流 Hosted Fields 串接 有具體業務流程:前端收集卡號 > 向第三方換取 Token > 後端儲存完成結帳。
US-4:資料存取與稽核 (部分) 有事件觸發行為:發生機敏存取時,系統自動擷取操作者與時間並寫入 Log。
US-2:機敏資料加密儲存 純安全約束 (NFR):規範資料入庫須走 AES-256-GCM 與 KMS,無新增操作流程。
US-3:Log 敏感資料遮罩 純架構約束 (NFR):後台日誌輸出前的全域過濾規則,不涉及使用者功能。

3. Takeaways

3.1. 功能性需求 (Functional)

(e.g., business requirements, use cases, stories)
Functional(FR):開發人員要負責設計「流程(What happens, step by step)」。

3.2. 非功能性需求 (Non-functional)

(e.g., security, operational, continuity, deployment)
Non-Functional(NFR):開發人員要負責遵守「規格與約束(How well it must perform, what constraints must be kept)」。

3.3. 監管機關 (Regulatory Authority)

法規規範 適用範圍 關鍵要求
FISMA (2002) 美國聯邦政府機構 機構層級的全面性資訊安全計畫
GDPR (2018) 歐盟資料保護 資料主體權利、知情同意、外洩通報 (72小時)
CCPA (2018) 加州消費者隱私法 消費者擁有知情權、刪除權與拒絕販售權 (opt-out)
COPPA (1998) 兒童線上隱私權 收集 13 歲以下兒童資料前,必須取得家長同意
FedRAMP 美國聯邦政府雲端服務 標準化的雲端安全評估與授權機制

3.4. 法律規範 (Legal)

領域 說明
外洩通報 (Breach notification) 在資料遭到洩露後強制要求通報的相關法律
隱私權法規 (Privacy laws) 管轄個人資料保護層面的法規
合約義務 (Contractual obligations) 在供應商/客戶協議中所承諾的安全責任
法律責任 (Liability) 必須為安全機制失效所承擔的法律究責

3.5. 特定產業標準 (Industry-Specific)

(e.g., defense, healthcare, commercial, financial, Payment Card Industry (PCI))

產業 標準/法規 重點
國防 (Defense) NIST SP 800-171, CMMC 受控非機密資訊 (CUI, Controlled Unclassified Information)
醫療照護 (Healthcare) HIPAA / HITECH 受保護健康資訊 (PHI, Protected Health Information)
金融 (Financial) SOX, GLBA 確保財務報表健全與完整性,保護消費者金融資料隱私
支付卡 (Payment Card) PCI DSS 支付卡產業資料安全標準;具備合約強制力且違規將面臨高額財務罰款

3.6. 全公司內部政策 (Company-Wide)

(e.g., development tools, standards, frameworks, protocols)

類別 範例
開發工具 經核准的 IDE、函式庫與框架
標準 內部編碼標準、安全配置基準線
框架 組織採用的安全框架(如 ISO 27001, NIST CSF)
通訊協定 經核准的通訊與加密協定

3.7. 誤用與濫用案例 (Misuse and Abuse Cases)

概念 視角立場 說明
使用案例 (Use Case) 合法使用者 描述系統對合法使用者應有的預期行為運作
誤用案例 (Misuse Case) 疏忽/無意的操作者 描述由合法使用者所做出的非故意負面行為(例如失誤、打錯字、操作錯誤等)
濫用案例 (Abuse Case) 惡意攻擊者 描述由威脅發動者所進行的蓄意攻擊行為

4. Further Reading

Microsoft Non-Functional Requirements Capture
https://microsoft.github.io/code-with-engineering-playbook/design/design-patterns/non-functional-requirements-capture-guide/


上一篇
Day 07 | 下線 (EOL) 也是隱形成本:應用程式退役與資料銷毀 (Data Disposition) 的經濟學
下一篇
Day 09 | 資料分類 (Data Classification):把有限的預算,精準砸在最核心的資產上
系列文
從 CSSLP 視角建構恰到好處的軟體安全22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言